package com.sumainfor.pc.gmio.controller.director;

import com.sumainfor.common.util.FieldCheckUtil;
import com.sumainfor.common.util.JsonResult;
import com.sumainfor.common.utlis.PageUtils;
import com.sumainfor.common.utlis.Pager;
import com.sumainfor.pc.gmio.service.DiBillOutlayService;
import com.sumainfor.pc.gmio.service.SeBillOutlayService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * 租后主管 支出账单
 */
@RestController
@RequestMapping("/secretary/DiBillOutlay")
public class DiBillOutlayController implements Serializable {

    @Autowired
    private DiBillOutlayService diBillOutlayService;
    /**
     * 服务秘书查询业主的水电燃账单列表
     * @param params
     * @param pager
     * @return
     */
//    @PostMapping("/getDiBillOutlayList")
//    public JsonResult getDiBillOutlayList(@RequestBody Map<String,Object> params, Pager pager){
//        pager.setPageno(Integer.parseInt(params.get("pageno").toString()));
//        pager.setPagesize(Integer.parseInt(params.get("pagesize").toString()));
//        JsonResult result=new JsonResult();
//        pager.setPagerNecessary(params, pager);
//        PageUtils pageUtils = new PageUtils();
//
//        //只有水电燃账单才根据水电燃去查询相对应的水电燃
//        if(FieldCheckUtil.isMapFieldNotNull(params,new String[]{"utilityFeeRadio2"})){
//            //如果水电燃查询，是全部，就清空，相对应查询全部
//            if(params.get("utilityFeeRadio2").toString().equals("0")){
//                params.put("utilityFeeRadio2",null);
//            }
//            //如果不是水电燃类型。就清空水电燃字段
//            if(!params.get("BiOutType").toString().equals("4")){
//                params.put("utilityFeeRadio2",null);
//            }
//        }
//
//
//        Integer cout=diBillOutlayService.getDiBillOutlayListCount(params);
//        if(cout==0){
//            return pageUtils.getJsonResult(new ArrayList<Map<String,Object>>(), params,cout);
//        }
//        List<Map<String,Object>> getCommunityList=diBillOutlayService.getDiBillOutlayList(params);
//        result=pageUtils.getJsonResult(getCommunityList, params, cout);
//        return result;
//
//
//    }
//
//      */
    @PostMapping("/getDiBillOutlayList")
    public JsonResult getDiBillOutlayList(@RequestBody Map<String,Object> params, Pager pager){
    return diBillOutlayService.getDiBillOutlayList(params,pager);

    }






    /**
     * 租后主管查询日账核对列表
     * @param params
     * @param pager
     * @return
     */
    @PostMapping("/getDiBillOutlCheckList")
    public JsonResult getDiBillOutlCheckList(@RequestBody Map<String,Object> params, Pager pager){
        pager.setPageno(Integer.parseInt(params.get("pageno").toString()));
        pager.setPagesize(Integer.parseInt(params.get("pagesize").toString()));
        JsonResult result=new JsonResult();
        pager.setPagerNecessary(params, pager);
        PageUtils pageUtils = new PageUtils();
        Integer cout=diBillOutlayService.getDiBillOutlCheckListCount(params);
        if(cout==0){
            return pageUtils.getJsonResult(new ArrayList<Map<String,Object>>(), params,cout);
        }
        List<Map<String,Object>> getCommunityList=diBillOutlayService.getDiBillOutlCheckList(params);
        result=pageUtils.getJsonResult(getCommunityList, params, cout);
        return result;
    }

    /**
     * 功能描述:
     * 财务打款
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/7/4 21:06
     */
    @PostMapping("/UpdateDiBillOulPay")
    public JsonResult UpdateDiBillOulPay(@RequestBody Map<String,Object>params){
        if(!FieldCheckUtil.isMapFieldNotNull(params,new String[]{"BiOutId"})){
            return  JsonResult.error("BiOutId不能为空！");
        }
        if(diBillOutlayService.UpdateDiBillOulPay(params)){
            return JsonResult.success("付款成功，请留意后续进度！");
        }else{
            return JsonResult.error("服务器繁忙，请稍后重试！");
        }
    }
}
